The present application relates generally to transmissions of data over a computer network such as, e.g., the Internet, a local area network, a wide area network, a wireless network, and others.
Both enterprise and consumer broadband networks have undergone significant and continuous growth of traffic volumes for the last 3-5 years. The traffic growth is driven by introduction of faster end user connectivity options, adoption of various bandwidth-intensive applications, and introduction of various Internet-connected consumer electronics products.
To respond to network congestion, degradation of application performance, and, the need to continuously upgrade their networks, caused by the broadband growth, broadband network operators have introduced various network optimization solutions and services aimed at controlling their network costs, containing growth of network scale, improving performance and security of Internet applications, and creating new revenue sources for the operators.
Such solutions include content caching, video transcoding and transrating, content adaptation, content filtering, intrusion detection and prevention, among others.
All these solution classes share several common deployment requirements. They should be deployed in a transparent way, so that Internet applications may operate without change.
It is also common for some network optimization solutions to modify the Internet content flow and/or content payload itself.
Furthermore, the network optimization solutions should address the scale requirements of modern broadband networks that frequently operate on 10 Gbps, 40 Gbps and 100 Gbps scale.
Common solution architecture for network-based optimization involves a network optimization platform deployed in conjunction with a network element (e.g., routing, switching or dedicated DPI equipment) that sits in data path and redirects traffic to the network optimization platform.
Network elements typically employ selective redirection of network traffic, matching types of traffic flows to the network optimization service used.
Network optimization services commonly use application proxy architecture. A connection that otherwise would be established between two endpoints ‘A’ and ‘B’ (e.g., an Internet browser and a Web server), is terminated by proxy ‘P’ and two distinct transport sessions (TCP or UDP) are created between A and P on one hand, and P and B on the other. Following the connection setup, the proxy P relays data between the two sessions at application level.
The proxy architecture carries significant performance penalties due to the need to maintain transport (TCP or UDP) stack for all sessions flowing across the network, to copy data to relay all data at application level, and perform conversion from data frames to application buffers and back.
As a result of these limitations, the proxy architecture limits throughput of network optimization applications to 1-2 Gbps per standard Intel-based server, and number of concurrently supported flows to tens of thousands. The performance limitation effectively blocks the network optimization solutions from scaling to 10/40/100 Gbps network scale in an economical fashion.
Thus, there exists a need in for an alternative architecture for network optimization platforms that would eliminate the above bottlenecks of the application proxy architecture.